The present invention is directed to the field of messaging systems of the type used exchange messages between various types of peripheral office components, including copiers, printers, fax machines and the like. The invention has particular applicability as used in a network where messages are exchanged between components of various makes and models, which may be implemented with different types of operating systems.
In a network messaging has many uses, including the management of peripheral output. For example, if a network printer has a long queue of pending print jobs, messages can be exchanged between peripheral components to identify a suitable printer for off-loading a priority print job. In a typical enterprise roll-out, it is common for a variety of components to be used, having a number of different makes and models, and even employing different operating systems. In these instances, it can be difficult or impossible for these components to exchange messages with each other, resulting in delays, confusion and general inefficiency.
In general, the inter-process communication (IPC) mechanisms deployed by the embedded software controllers of such peripheral devices tend to not be portable across operating system platforms. Performance is also affected by the restrictions imposed by the native IPC mechanisms on the platforms of interest. For example, sockets are too basic to basic to satisfy cross-platform messaging requirements. On the other hand, RPC (remote procedure call) is too complex and slow to be effective. Also, shared memory must reside on the same hardware. Some IPC mechanisms, such as those deployed by Toshiba Controller software SC-2/3 (used by the present assignee) require the extensive use of the Windows NT registry for event notification and job control, and thus cannot be ported to other types of operating systems.